<!-- HTML header for doxygen 1.11.0-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.11.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: Features</title>
<link rel="icon" href="doxygen.ico" type="image/x-icon" />
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen_manual.css" rel="stylesheet" type="text/css"/>
<link href="extra.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><a href="../index.html"><img alt="Logo" src="doxygen_logo.svg" height="35px"/></a></td>
  <td class="menu-item"><a href="index.html">Docs</a></td>
  <td class="menu-item"><a href="changelog.html">Changelog</a></td>
  <td class="menu-item"><a href="../helpers.html">Extensions</a></td>
  <td class="menu-item"><a href="../examples.html">Examples</a></td>
  <td class="menu-spacer">&#160;</td>
  <td class="menu-item" id="download">
      <img class="download-icon" src="../assets/download.svg" width="16px" height="16px" alt="Download doxygen"/>
      <a href="../download.html">Download</a>
  </td>
  <td class="menu-item" id="donate">
     <form action="https://www.paypal.com/cgi-bin/webscr" method="post" class="nav-item d-inline-flex px-1 mx-1">
       <input type="hidden" name="cmd" value="_donations" />
       <input type="hidden" value="doxygen@gmail.com" name="business" />
       <input type="hidden" name="bn" value="PP-DonationsBF:btn_donate_LG.gif:NonHosted" />
       <input type="hidden" name="lc" value="US" />
       <input type="hidden" name="tax" value="0" />
       <input type="hidden" name="item_name" value="Doxygen donation" />
       <input type="hidden" name="no_shipping" value="1" />
       <table class="donate">
         <tr>
           <td class="donate-button"><input type="image" width="74" height="21"
               src="https://www.paypal.com/en_GB/i/btn/btn_donate_SM.gif" border="0" name="submit"
               alt="Donate to Doxygen with PayPal!" /></td>
         </tr>
         <tr>
           <td class="currency"><select size="1" name="currency_code">
               <option selected="selected" value="EUR">&euro; (EUR)</option>
               <option value="USD">$ (USD)</option>
             </select></td>
         </tr>
       </table>
     </form>
   </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.11.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
     <div id="nav-tree-ads-carbon">
       <script async type="text/javascript" src="https://cdn.carbonads.com/carbon.js?serve=CK7DTK3M&placement=stacknl" id="_carbonads_js"></script>
     </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){initNavTree('features.html',''); initResizable(true); });
/* @license-end */
</script>
<div id="doc-content">
<div><div class="header">
  <div class="headertitle"><div class="title">Features</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p><a id="a20_features" name="a20_features"></a> </p><ul>
<li>
Requires very little overhead from the writer of the documentation. Plain text will do, Markdown is support, and for more fancy or structured output HTML tags and/or some of doxygen's special commands can be used. </li>
<li>
Cross platform: works on Windows and many Unix flavors (including Linux and MacOSX). </li>
<li>
Indexes, organizes and generates browsable and cross-referenced output even from undocumented code. </li>
<li>
Generates structured XML output for parsed sources, which can be used by external tools. </li>
<li>
Supports C/C++, Lex, Java, (Corba and Microsoft) Java, Python, VHDL, PHP IDL, C#, Fortran, Objective-C 2.0, and to some extent D sources. </li>
<li>
Supports documentation of files, namespaces, packages, classes, structs, unions, templates, variables, functions, typedefs, enums and defines. </li>
<li>
Javadoc (1.1), qdoc3 (partially), and ECMA-334 (C# spec.) compatible. </li>
<li>
Comes with a GUI frontend (Doxywizard) to ease editing the options and run doxygen. The GUI is available on Windows, Linux, and MacOSX. </li>
<li>
Automatically generates class and collaboration diagrams in HTML (as clickable image maps) and <img class="formulaInl" alt="{\LaTeX}" src="form_0.png" width="34" height="13"/> (as Encapsulated PostScript images). </li>
<li>
Uses the <code>dot</code> tool of the Graphviz tool kit to generate include dependency graphs, collaboration diagrams, call graphs, directory structure graphs, and graphical class hierarchy graphs. </li>
<li>
Allows grouping of entities in topics and creating a hierarchy of topics. </li>
<li>
Flexible comment placement: Allows you to put documentation in the header file (before the declaration of an entity), source file (before the definition of an entity) or in a separate file. </li>
<li>
Generates a list of all members of a class (including any inherited members) along with their protection level. </li>
<li>
Outputs documentation in on-line format (XHTML and UNIX man page) and off-line format ( <img class="formulaInl" alt="{\LaTeX}" src="form_0.png" width="34" height="13"/> and RTF) simultaneously (any of these can be disabled if desired). All formats are optimized for ease of reading. <br  />
 Furthermore, compressed HTML can be generated from HTML output using Microsoft's HTML Help Workshop (Windows only) and PDF can be generated from the <img class="formulaInl" alt="{\LaTeX}" src="form_0.png" width="34" height="13"/> output. </li>
<li>
Support for various third party help formats including HTML Help, docsets, Qt-Help, and eclipse help. </li>
<li>
Includes a full C preprocessor to allow proper parsing of conditional code fragments and to allow expansion of all or part of macros definitions. </li>
<li>
Automatically detects public, protected and private sections, as well as the Qt specific signal and slots sections. Extraction of private class members is optional. </li>
<li>
Automatically generates references to documented classes, files, namespaces and members. Documentation of global functions, global variables, typedefs, defines and enumerations is also supported. </li>
<li>
References to base/super classes and inherited/overridden members are generated automatically. </li>
<li>
Includes a fast, rank based search engine to search for strings or words in the class and member documentation (PHP based). </li>
<li>
Includes an JavaScript based live search feature to search for symbols as you type (for small to medium sized projects). </li>
<li>
You can type normal HTML tags in your documentation. Doxygen will convert them to their equivalent <img class="formulaInl" alt="{\LaTeX}" src="form_0.png" width="34" height="13"/> , RTF, and man-page counterparts automatically. </li>
<li>
Allows references to documentation generated for other (doxygen documented) projects (or another part of the same project) in a location independent way. </li>
<li>
Allows inclusion of source code examples that are automatically cross-referenced with the documentation. </li>
<li>
Inclusion of undocumented classes is also supported, allowing to quickly learn the structure and interfaces of a (large) piece of code without looking into the implementation details. </li>
<li>
Allows automatic cross-referencing of (documented) entities with their definition in the source code. </li>
<li>
All source code fragments are syntax highlighted for ease of reading. </li>
<li>
Allows inclusion of function/member/class definitions in the documentation. </li>
<li>
All options are read from an easy to edit and (optionally) annotated configuration file. </li>
<li>
Documentation and search engine can be transferred to another location or machine without regenerating the documentation. </li>
<li>
Supports many different character encodings and uses UTF-8 internally and for the generated output. </li>
<li>
Doxygen can generate a layout which you can use and edit to change the layout of each page. </li>
<li>
There more than a 100 configurable options to fine-tune the output. </li>
<li>
Can cope with large projects easily. </li>
</ul>
<p>Although doxygen can now be used in any project written in a language that is supported by doxygen, initially it was specifically designed to be used for projects that make use of Qt Software's <a href="https://doc.qt.io">Qt toolkit</a>. I have tried to make doxygen &lsquo;Qt-compatible&rsquo;. That is: Doxygen can read the documentation contained in the Qt source code and create a class browser that looks quite similar to the one that is generated by Qt Software. Doxygen understands the C++ extensions used by Qt such as signals and slots and many of the markup commands used in the Qt sources.</p>
<p>Doxygen can also automatically generate links to existing documentation that was generated with doxygen or with Qt's non-public class browser generator. For a Qt based project this means that whenever you refer to members or classes belonging to the Qt toolkit, a link will be generated to the Qt documentation. This is done independent of where this documentation is located!</p>
<p> 
Go to the <a href="doxygen_usage.html">next</a> section or return to the
 <a href="index.html">index</a>.
 </p>
</div></div><!-- contents -->
</div><!-- PageDoc -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.11.0 </li>
  </ul>
</div>
</body>
</html>
